﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ArtemisExtensions
{
    /// <summary>
    /// Every ContainingEntity in this game
    /// </summary>
    /// <remarks>Every ContainingEntity has an unique ID attached to it which is assigned when constructed.</remarks>
    public class Entity : ArtemisExtensions.IEntity
    {
        private System.Collections.Generic.Dictionary<System.Type, ArtemisExtensions.IComponent> components;
        //private static int EID_INDEX = 0;


        /// <summary>
        /// Constructor for creating new ContainingEntity
        /// </summary>
        /// <remarks>Assigns an ID to this ContainingEntity, and increments the index counter.</remarks>
        public Entity()
        {
            /*
            EntityID = EID_INDEX;
            EID_INDEX++;
             */
        }

        /*public long EntityID
        {
            get
            {
                return EntityID;
            }
            private set
            {
            }
        }*/


        public virtual bool AddComponent(IComponent comp)
        {
            throw new System.NotImplementedException();
        }

        public bool RemoveComponent(IComponent comp)
        {
            throw new System.NotImplementedException();
        }

        public bool RemoveComponent(Type t)
        {
            throw new System.NotImplementedException();
        }

        public bool ContainsComponent(Type t)
        {
            throw new System.NotImplementedException();
        }

        public bool ContainsComponent(IComponent comp)
        {
            throw new System.NotImplementedException();
        }

        public void GetComponent(Type t)
        {
            throw new System.NotImplementedException();
        }

        public void GetComponent(IComponent comp)
        {
            throw new System.NotImplementedException();
        }
    }
}
